// ----------> GENERATED FILE - DON'T TOUCH! <---------- // generator: ilarkesto.mda.legacy.generator.GwtEntityGenerator package scrum.client.sprint; import java.util.*; import ilarkesto.persistence.*; import ilarkesto.core.logging.Log; import ilarkesto.base.*; import ilarkesto.base.time.*; import ilarkesto.auth.*; import scrum.client.common.*; import ilarkesto.gwt.client.*; public abstract class GTask extends scrum.client.common.AScrumGwtEntity { protected scrum.client.Dao getDao() { return scrum.client.Dao.get(); } public abstract boolean isEditable(); public GTask() { } public GTask(Map data) { super(data); updateProperties(data); } public static final String ENTITY_TYPE = "task"; @Override public final String getEntityType() { return ENTITY_TYPE; } // --- requirement --- private String requirementId; public final scrum.client.project.Requirement getRequirement() { if (requirementId == null) return null; return getDao().getRequirement(this.requirementId); } public final boolean isRequirementSet() { return requirementId != null; } public final Task setRequirement(scrum.client.project.Requirement requirement) { String id = requirement == null ? null : requirement.getId(); if (equals(this.requirementId, id)) return (Task) this; this.requirementId = id; propertyChanged("requirementId", this.requirementId); return (Task)this; } public final boolean isRequirement(scrum.client.project.Requirement requirement) { return equals(this.requirementId, requirement); } // --- number --- private int number ; public final int getNumber() { return this.number ; } public final Task setNumber(int number) { if (isNumber(number)) return (Task)this; this.number = number ; propertyChanged("number", this.number); return (Task)this; } public final boolean isNumber(int number) { return equals(this.number, number); } private transient NumberModel numberModel; public NumberModel getNumberModel() { if (numberModel == null) numberModel = createNumberModel(); return numberModel; } protected NumberModel createNumberModel() { return new NumberModel(); } protected class NumberModel extends ilarkesto.gwt.client.editor.AIntegerEditorModel { @Override public String getId() { return "Task_number"; } @Override public java.lang.Integer getValue() { return getNumber(); } @Override public void setValue(java.lang.Integer value) { setNumber(value); } @Override public void increment() { setNumber(getNumber() + 1); } @Override public void decrement() { setNumber(getNumber() - 1); } @Override protected void onChangeValue(java.lang.Integer oldValue, java.lang.Integer newValue) { super.onChangeValue(oldValue, newValue); addUndo(this, oldValue); } } // --- label --- private java.lang.String label ; public final java.lang.String getLabel() { return this.label ; } public final Task setLabel(java.lang.String label) { if (isLabel(label)) return (Task)this; this.label = label ; propertyChanged("label", this.label); return (Task)this; } public final boolean isLabel(java.lang.String label) { return equals(this.label, label); } private transient LabelModel labelModel; public LabelModel getLabelModel() { if (labelModel == null) labelModel = createLabelModel(); return labelModel; } protected LabelModel createLabelModel() { return new LabelModel(); } protected class LabelModel extends ilarkesto.gwt.client.editor.ATextEditorModel { @Override public String getId() { return "Task_label"; } @Override public java.lang.String getValue() { return getLabel(); } @Override public void setValue(java.lang.String value) { setLabel(value); } @Override public boolean isMandatory() { return true; } @Override public boolean isEditable() { return GTask.this.isEditable(); } @Override public String getTooltip() { return "The label should be short (as it appears where the Task is referenced), yet give a hint strong enough to make the content of it come to mind."; } @Override protected void onChangeValue(java.lang.String oldValue, java.lang.String newValue) { super.onChangeValue(oldValue, newValue); addUndo(this, oldValue); } } // --- description --- private java.lang.String description ; public final java.lang.String getDescription() { return this.description ; } public final Task setDescription(java.lang.String description) { if (isDescription(description)) return (Task)this; this.description = description ; propertyChanged("description", this.description); return (Task)this; } public final boolean isDescription(java.lang.String description) { return equals(this.description, description); } private transient DescriptionModel descriptionModel; public DescriptionModel getDescriptionModel() { if (descriptionModel == null) descriptionModel = createDescriptionModel(); return descriptionModel; } protected DescriptionModel createDescriptionModel() { return new DescriptionModel(); } protected class DescriptionModel extends ilarkesto.gwt.client.editor.ATextEditorModel { @Override public String getId() { return "Task_description"; } @Override public java.lang.String getValue() { return getDescription(); } @Override public void setValue(java.lang.String value) { setDescription(value); } @Override public boolean isEditable() { return GTask.this.isEditable(); } @Override public boolean isRichtext() { return true; } @Override public String getTooltip() { return "The description of a Task may be used to give information that is important, but cannot be inferred from the Label. As Tasks are small units of work, the Label might be sufficient."; } @Override protected void onChangeValue(java.lang.String oldValue, java.lang.String newValue) { super.onChangeValue(oldValue, newValue); addUndo(this, oldValue); } } // --- remainingWork --- private int remainingWork ; public final int getRemainingWork() { return this.remainingWork ; } public final Task setRemainingWork(int remainingWork) { if (isRemainingWork(remainingWork)) return (Task)this; this.remainingWork = remainingWork ; propertyChanged("remainingWork", this.remainingWork); return (Task)this; } public final boolean isRemainingWork(int remainingWork) { return equals(this.remainingWork, remainingWork); } private transient RemainingWorkModel remainingWorkModel; public RemainingWorkModel getRemainingWorkModel() { if (remainingWorkModel == null) remainingWorkModel = createRemainingWorkModel(); return remainingWorkModel; } protected RemainingWorkModel createRemainingWorkModel() { return new RemainingWorkModel(); } protected class RemainingWorkModel extends ilarkesto.gwt.client.editor.AIntegerEditorModel { @Override public String getId() { return "Task_remainingWork"; } @Override public java.lang.Integer getValue() { return getRemainingWork(); } @Override public void setValue(java.lang.Integer value) { setRemainingWork(value); } @Override public void increment() { setRemainingWork(getRemainingWork() + 1); } @Override public void decrement() { setRemainingWork(getRemainingWork() - 1); } @Override public boolean isEditable() { return GTask.this.isEditable(); } @Override public String getTooltip() { return "The remaining time needed to get this Task done. If the remaining time is high, it might be an indication (but is not necessarily the case) that splitting the Task is a good idea."; } @Override protected void onChangeValue(java.lang.Integer oldValue, java.lang.Integer newValue) { super.onChangeValue(oldValue, newValue); addUndo(this, oldValue); } } // --- burnedWork --- private int burnedWork ; public final int getBurnedWork() { return this.burnedWork ; } public final Task setBurnedWork(int burnedWork) { if (isBurnedWork(burnedWork)) return (Task)this; this.burnedWork = burnedWork ; propertyChanged("burnedWork", this.burnedWork); return (Task)this; } public final boolean isBurnedWork(int burnedWork) { return equals(this.burnedWork, burnedWork); } private transient BurnedWorkModel burnedWorkModel; public BurnedWorkModel getBurnedWorkModel() { if (burnedWorkModel == null) burnedWorkModel = createBurnedWorkModel(); return burnedWorkModel; } protected BurnedWorkModel createBurnedWorkModel() { return new BurnedWorkModel(); } protected class BurnedWorkModel extends ilarkesto.gwt.client.editor.AIntegerEditorModel { @Override public String getId() { return "Task_burnedWork"; } @Override public java.lang.Integer getValue() { return getBurnedWork(); } @Override public void setValue(java.lang.Integer value) { setBurnedWork(value); } @Override public void increment() { setBurnedWork(getBurnedWork() + 1); } @Override public void decrement() { setBurnedWork(getBurnedWork() - 1); } @Override public boolean isEditable() { return GTask.this.isEditable(); } @Override public String getTooltip() { return "Time already invested working on this Task."; } @Override protected void onChangeValue(java.lang.Integer oldValue, java.lang.Integer newValue) { super.onChangeValue(oldValue, newValue); addUndo(this, oldValue); } } // --- owner --- private String ownerId; public final scrum.client.admin.User getOwner() { if (ownerId == null) return null; return getDao().getUser(this.ownerId); } public final boolean isOwnerSet() { return ownerId != null; } public final Task setOwner(scrum.client.admin.User owner) { String id = owner == null ? null : owner.getId(); if (equals(this.ownerId, id)) return (Task) this; this.ownerId = id; propertyChanged("ownerId", this.ownerId); return (Task)this; } public final boolean isOwner(scrum.client.admin.User owner) { return equals(this.ownerId, owner); } // --- impediment --- private String impedimentId; public final scrum.client.impediments.Impediment getImpediment() { if (impedimentId == null) return null; return getDao().getImpediment(this.impedimentId); } public final boolean isImpedimentSet() { return impedimentId != null; } public final Task setImpediment(scrum.client.impediments.Impediment impediment) { String id = impediment == null ? null : impediment.getId(); if (equals(this.impedimentId, id)) return (Task) this; this.impedimentId = id; propertyChanged("impedimentId", this.impedimentId); return (Task)this; } public final boolean isImpediment(scrum.client.impediments.Impediment impediment) { return equals(this.impedimentId, impediment); } // --- update properties by map --- public void updateProperties(Map props) { requirementId = (String) props.get("requirementId"); number = (Integer) props.get("number"); label = (java.lang.String) props.get("label"); description = (java.lang.String) props.get("description"); remainingWork = (Integer) props.get("remainingWork"); burnedWork = (Integer) props.get("burnedWork"); ownerId = (String) props.get("ownerId"); impedimentId = (String) props.get("impedimentId"); } @Override public void storeProperties(Map properties) { super.storeProperties(properties); properties.put("requirementId", this.requirementId); properties.put("number", this.number); properties.put("label", this.label); properties.put("description", this.description); properties.put("remainingWork", this.remainingWork); properties.put("burnedWork", this.burnedWork); properties.put("ownerId", this.ownerId); properties.put("impedimentId", this.impedimentId); } @Override public boolean matchesKey(String key) { if (super.matchesKey(key)) return true; if (matchesKey(getLabel(), key)) return true; if (matchesKey(getDescription(), key)) return true; return false; } }